With recent developments in mobile technology, numerous software developers are concentrating on producing software applications (typically “apps”) that perform various functions. Because of the increase in the number and variety of such software applications, finding a desired application can be challenging, especially where the categorization of a software application is inaccurate or imprecise. Thus, there is a need for an improved system and method for recognition of applications and for presenting them to a user in a coherent fashion, for example by clustering them.